################################################################################
# Imports
################################################################################

from ycp import Term, Symbol

################################################################################
# Functions
################################################################################

def id(name):
  return Term('id', Symbol(name))

def opt(opt_name):
  return Term('opt', Symbol(opt_name))

def item(id, values):
  values.insert(0, Term('id', id))
  values.insert(0, 'item')
  return apply(Term, values)

def tab(id, text):
  return Term('item', Term('id', Symbol(id)), _(text))

def icon_cell(icon, text):
  return Term('cell', Term('icon', icon), text)

def notify_opt():
  return Term('opt', Symbol('notify'))

def response_was(response, symbol_text):
  return (response == Symbol(symbol_text))

def sym(sym_text):
  return Symbol(sym_text)

def table_header(columns):
  columns.insert(0, 'header')
  return apply(Term, columns)